package cc.mrbird.system.log.service;

import cc.mrbird.system.log.model.Loginfo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import lombok.AllArgsConstructor;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author yux
 * @since 2019-07-16
 */
public interface LoginfoService extends IService<Loginfo> {

    /**
     * 自定义sql分页
     *
     * @param page
     * @param queryWrapper 看这里看这里，如果自定义的方法中需要用到wrapper查询条件，需要这样写
     * @return
     */
    IPage<Loginfo> selectMyPage(IPage<Loginfo> page, Wrapper<Loginfo> queryWrapper);

    /**
     * 事务测试
     */
    @Transactional
    void trans();

    /**
     * 事务测试
     */
    @Transactional(propagation = Propagation.REQUIRED)
    void transactionalTest();

    /**
     * 事务测试
     */
    @Transactional(propagation = Propagation.NESTED)
    void transactionalTest2();

}
